/**
 * 组合
 */

public class test11_14_1 {
    public static void main(String[] args) {
        Student s = new Student("小明", 180, "计算机");
        s.study();
    }
}

class Person /*extends Object*/{      // 默认扩展自类Object

    String name;
    int height;

    public void rest(){
        System.out.println("休息");
    }
}


// class Student extends Person{       // 继承自Person类
class Student{
    Person p = new Person();    // 组合

    String major;       //专业

    public void study(){
        System.out.println("学习");
        p.rest();
        System.out.println(this.p.name);
    }

    public Student(String name,int height,String major){
        this.p.name = name;
        this.p.height = height;
        this.major = major;
    }
}

/*
 * 学习笔记：
 * 组合：
 * 1.组合就是指在一个类中以成员变量的形式存在另一个类的对象
 * 2.组合是“has-a”的关系
 *    "has-a"翻译为“有一个”，建议使用组合
 *    "is-a"翻译为“是一个”，建议使用继承
 * 3.组合是“包含”的关系
 */